package com.easy.common.util;
//生成和验证 JWT Token
import cn.hutool.jwt.JWTUtil;

import java.util.Map;

//用于用户身份认证
public class TokenUtil {
    //签名密钥
    private static final String TOKEN_KEY = "easy";
    //生成token
    public static String getToken(Integer id, String role) {
        Map map=Map.of(SYS.TOKEN_KEY_ID,id,SYS.TOKEN_KEY_ROLE,role);
        return JWTUtil.createToken(map,TOKEN_KEY.getBytes());
    }
    //验证token
    public static boolean verify(String token) {//验证token是否有效
        return JWTUtil.verify(token,TOKEN_KEY.getBytes());
    }
    //获取token数据
    public static Object getOption(String token,String key) {//获取用户名
        return JWTUtil.parseToken(token).getPayload(key);
    }
    //测试
    public static void main(String[] args) {
        String token = getToken(1,"管理员");
        System.out.println(token);
        System.out.println(verify(token));
        System.out.println(getOption(token,SYS.TOKEN_KEY_ID));
        System.out.println(getOption(token,SYS.TOKEN_KEY_ROLE));
    }
}
